[gdkcairo] Fix color premultiplication
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 5 Sep 2013 22:42:45 +0000 (18:42 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 5 Sep 2013 22:42:45 +0000 (18:42 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=513812

gdk/gdkcairo.c

index 74bc63611aa7a9eadef422ec576a97dc60404ce6..67fc35acad8502679920c74536fa34130c29412b 100644 (file)
@@ -244,7 +244,7 @@ gdk_cairo_surface_create_from_pixbuf (const GdkPixbuf *pixbuf,
           guchar *end = p + 4 * width;
           guint t1,t2,t3;
 
-#define MULT(d,c,a,t) G_STMT_START { t = c * a + 0x7f; d = ((t >> 8) + t) >> 8; } G_STMT_END
+#define MULT(d,c,a,t) G_STMT_START { t = c * a + 0x80; d = ((t >> 8) + t) >> 8; } G_STMT_END
 
           while (p < end)
             {